﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using STT.Business;
using STT.Entities;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data;
using System.Web;

namespace STT.Admin.UserControls
{
    public partial class ucBangCap : System.Web.UI.UserControl
    {
        public bool chonSuaClick;
        protected void Page_Load(object sender, EventArgs e)
        {
            LoadBangCap();
             
            chonSuaClick = false;
          
        }
        void LoadBangCap()
        {
            gvBangCap.AutoGenerateColumns = false;
            gvBangCap.DataSource = BTbBangCap.SelectAll1();
            gvBangCap.DataBind();
        }
        bool KiemTraDuLieu_Sua()
        {
            return BTbBangCap.KiemTraDuLieu_Sua(new ETbBangCap
            {
                TenBangCap = txtTenBangCap.Text,
                MaBangCap = int.Parse(MaBang)
            });
        }
        bool KiemTraDuLieu()
        {
            return BTbBangCap.KiemTraDuLieu(new ETbBangCap
            {
                TenBangCap = txtTenBangCap.Text
             
            });
        }
        void ThongBao(string Loi)
        {
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('" + Loi + "')</script>", false);
        }
        protected void btThemMoi_Click(object sender, EventArgs e)
        {
            if (!KiemTraDuLieu())
            {
                BTbBangCap.Insert(new ETbBangCap
                {
                    TenBangCap = txtTenBangCap.Text,
                    TrangThai = int.Parse(ddTrangThai.SelectedValue)
                });
                LoadBangCap();
                Session["action"] = 1;
            }
            else
            {
                ThongBao("Bằng cấp này đã tồn tại!");
            }
        }
        public static string MaBang;
        protected void gvBangCap_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ChonSua")
            {
                // Lay id
                int index = Convert.ToInt32(e.CommandArgument);
                MaBang = gvBangCap.DataKeys[index].Value.ToString();
                // Thay đổi tiêu đề
                txtTieuDe.InnerText = "Sửa Bằng cấp";
                txtTenBangCap.Text = HttpUtility.HtmlDecode(gvBangCap.Rows[index].Cells[1].Text);
                Label tt = ((Label)gvBangCap.Rows[index].Cells[2].FindControl("lblTrangThai"));
                if (tt.Text == "Sử dụng")
                {
                    ddTrangThai.SelectedValue = "1";
                }
                else
                { ddTrangThai.SelectedValue = "0"; }
                 
                 
                chonSuaClick = true;
            }
        }

        protected void btSearch_Click(object sender, ImageClickEventArgs e)
        {
            DataTable dt = new DataTable();
            dt = BTbBangCap.SearchBangCap(new ETbBangCap
            {
                TenBangCap = txtTimKiem.Text
            });
            gvBangCap.DataSource = dt;
            gvBangCap.DataBind();
        }

        protected void lbXoaTat_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < gvBangCap.Rows.Count; i++)
                {
                    CheckBox cbChon = (CheckBox)gvBangCap.Rows[i].Cells[0].FindControl("cbChon");
                    if (cbChon != null && cbChon.Checked)
                    {
                        BTbBangCap.Delete(int.Parse(gvBangCap.DataKeys[i].Value.ToString()));
                    }
                }

                LoadBangCap();
                Session["action"] = 3;
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến một số Bằng cấp vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }

        protected void btThemExcel_Click(object sender, EventArgs e)
        {
           
        }

        protected void lbXuatDuLieu_Click(object sender, EventArgs e)
        {

        }
     
        protected void btSua_Click(object sender, EventArgs e)
        {
            try
            {
                if (!KiemTraDuLieu_Sua())
                {
                    BTbBangCap.Update(new ETbBangCap
                    {

                        MaBangCap = int.Parse(MaBang),
                        TenBangCap = txtTenBangCap.Text,
                        TrangThai = int.Parse(ddTrangThai.SelectedValue)
                    });
                    LoadBangCap();
                    Session["action"] = 2;
                }
                else
                {
                    ThongBao("Vui lòng kiểm tra lại dữ liệu , dữ liệu đã tồn tại !");
                }
      
            }
            catch
            {
                ThongBao("Có lỗi xảy ra trong quá trình sửa!");
            }
        }

        protected void gvBangCap_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvBangCap.PageIndex = e.NewPageIndex;
            gvBangCap.DataBind();
        }

        protected void gvBangCap_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                int MaBangCap = int.Parse(gvBangCap.DataKeys[e.RowIndex].Value.ToString());

                BTbBangCap.Delete(MaBangCap);
                LoadBangCap();
                Session["action"] = 3;
            }
            catch
            {
                ThongBao("Dữ liệu liên quan đến Bằng cấp này vẫn tồn tại, vui lòng kiểm tra lại dữ liệu!");
            }
        }
    }
}